Using Historical Data From Source Code Revision Histories to Detect Source Code Properties
نویسنده
چکیده
Title of Document: USING HISTORICAL DATA FROM SOURCE CODE REVISION HISTORIES TO DETECT SOURCE CODE PROPERTIES Chadd Creighton Williams, Doctor of Philosophy, 2006 Directed By: Professor Jeffrey K. Hollingsworth, Department of Computer Science In this dissertation, we describe several techniques for using historical data mined from the source code revision histories of software projects to determine important properties of the source code. These properties are then used to improve the results of various bug-finding techniques as well as to provide documentation to the developer. We describe a method to mine source code revision histories, in this case CVS repositories, to extract relevant information to be fed into a static source code bug finder for use in improving the results generated by the bug finding tool. We apply this technique to the CVS repositories of two widely used open source software projects, Apache httpd and Wine. We show how source code revision history can be used to reduce false positives from a static source code checker that identifies the misuse of values returned from a function call. A method of mining source code revision histories for the purpose of learning about project specific idioms is then discussed. Specifically, we show how source code revision history can be used to identify patterns of calling sequences that describe how functions in the software should be used in relation to each other. With this data, we are able to find bugs in the source code, document API usage and identify refactoring events. In short, this dissertation shows that it is possible to automatically determine meaningful properties of the source code from studying source code changes cataloged in the software revision history. USING HISTORICAL DATA FROM SOURCE CODE REVISION HISTORIES TO DETECT SOURCE CODE PROPERTIES
منابع مشابه
Adding 166Ho data to VARSKIN2 code and dose calculation to human skin
Background: Skin cancer can be treated by various methods. Electron radiotherapy has been a useful therapeutic modality in the treatment of skin cancers in areas which are difficult to cure by other methods. Depth dose distribution of 166Ho using VARSKIN2 code is presented in this work. Material and Methods: Depth dose distribution of 166Ho was calculated, using VARSKIN2 code by adding...
متن کاملInvestigating the Effect of Gamma Ray Source Activity on Down-hole Nuclear Density Tool’s Reading Using Simulation by MCNP Code
Developing well logging methods will increase the applications of logs related to all the other geology sciences. Well logging curves introduce the essential information to evaluate reservoir characterizations, rock type and also formation fluid properties quantitatively. One of the most important parts of drilling and completion operations which affect making decision about the future planes i...
متن کاملEstimation of dosimetric parameters of I-125 brachytherapy source model 6711 using GATE8.1 code
Brachytherapy is one type of internal radiation therapy where radiation sources, which are usually encapsulated are placed as close as possible to the tumor site inside the patient's body. In this technique, it is important to determine dose distribution around the brachytherapy capsule. Hereby, in this paper, dosimetric parameters of I-125 brachytherapy source model 6711 are estimated accordin...
متن کاملUAM@SOCO 2014: Detection of Source Code Re-use by means of Combining Different Types of Representations
This paper describes the participation of the Language and Reasoning group from UAM-C in the context of the SOurce COde re-use competition (SOCO 2014). We propose different representations of a source code, which attempt to highlight different aspects of a code; particularly: i) lexical, ii) structural, and iii) stylistics. From the lexical view, we used a character 3-gram model without conside...
متن کاملCLCMiner: Detecting Cross-Language Clones without Intermediates
The proliferation of diverse kinds of programming languages and platforms makes it a common need to have the same functionality implemented in different languages for different platforms, such as Java for Android applications and C# for Windows phone applications. Although versions of code written in different languages appear syntactically quite different from each other, they are intended to ...
متن کامل